/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package fonol.entidades;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

/**
 *
 * @author Fredfred2
 */
@Entity
@Table(name = "DELEGADOS")
@SequenceGenerator(name="seqDel",allocationSize=1,initialValue=1,sequenceName="CANDIDATOS_SEQ")
@NamedQueries({@NamedQuery(name = "Delegados.findByIddelegado", query = "SELECT d FROM Delegados d WHERE d.iddelegado = :iddelegado"), @NamedQuery(name = "Delegados.findByNombre", query = "SELECT d FROM Delegados d WHERE d.nombre = :nombre"), @NamedQuery(name = "Delegados.findByAppaterno", query = "SELECT d FROM Delegados d WHERE d.appaterno = :appaterno"), @NamedQuery(name = "Delegados.findByApmaterno", query = "SELECT d FROM Delegados d WHERE d.apmaterno = :apmaterno"), @NamedQuery(name = "Delegados.findByFechanacimiento", query = "SELECT d FROM Delegados d WHERE d.fechanacimiento = :fechanacimiento"), @NamedQuery(name = "Delegados.findByPresupuesto", query = "SELECT d FROM Delegados d WHERE d.presupuesto = :presupuesto")})
public class Delegados implements Serializable {
    private static final long serialVersionUID = 1L;
    @Id
    @GeneratedValue(strategy=GenerationType.SEQUENCE,generator="seqDel")
    @Column(name = "IDDELEGADO", nullable = false)
    private Integer iddelegado;
    @Column(name = "NOMBRE")
    private String nombre;
    @Column(name = "APPATERNO")
    private String appaterno;
    @Column(name = "APMATERNO")
    private String apmaterno;
    @Column(name = "FECHANACIMIENTO")
    @Temporal(TemporalType.DATE)
    private Date fechanacimiento;
    @Column(name = "PRESUPUESTO")
    private BigDecimal presupuesto;
    @JoinColumn(name = "IDESTADO", referencedColumnName = "IDESTADO")
    @ManyToOne
    private Estados estado;
    @JoinColumn(name = "IDUSUARIO", referencedColumnName = "IDUSUARIO")
    @ManyToOne
    private Usuarios usuario;

    public Delegados() {
    }

    public Delegados(Integer iddelegado) {
        this.iddelegado = iddelegado;
    }

    public Integer getIddelegado() {
        return iddelegado;
    }

    public void setIddelegado(Integer iddelegado) {
        this.iddelegado = iddelegado;
    }

    public String getNombre() {
        return nombre;
    }

    public void setNombre(String nombre) {
        this.nombre = nombre;
    }

    public String getAppaterno() {
        return appaterno;
    }

    public void setAppaterno(String appaterno) {
        this.appaterno = appaterno;
    }

    public String getApmaterno() {
        return apmaterno;
    }

    public void setApmaterno(String apmaterno) {
        this.apmaterno = apmaterno;
    }

    public Date getFechanacimiento() {
        return fechanacimiento;
    }

    public void setFechanacimiento(Date fechanacimiento) {
        this.fechanacimiento = fechanacimiento;
    }

    public BigDecimal getPresupuesto() {
        return presupuesto;
    }

    public void setPresupuesto(BigDecimal presupuesto) {
        this.presupuesto = presupuesto;
    }

    public Estados getIdestado() {
        return estado;
    }

    public void setIdestado(Estados idestado) {
        this.estado = idestado;
    }

    public Usuarios getIdusuario() {
        return usuario;
    }

    public void setIdusuario(Usuarios idusuario) {
        this.usuario = idusuario;
    }

    @Override
    public int hashCode() {
        int hash = 0;
        hash += (iddelegado != null ? iddelegado.hashCode() : 0);
        return hash;
    }

    @Override
    public boolean equals(Object object) {
        // TODO: Warning - this method won't work in the case the id fields are not set
        if (!(object instanceof Delegados)) {
            return false;
        }
        Delegados other = (Delegados) object;
        if ((this.iddelegado == null && other.iddelegado != null) || (this.iddelegado != null && !this.iddelegado.equals(other.iddelegado))) {
            return false;
        }
        return true;
    }

    @Override
    public String toString() {
        return "fonol.entidades.Delegados[iddelegado=" + iddelegado + "]";
    }

}
